package com.jiangyg.mall.db.datasource;

import org.springframework.core.NamedThreadLocal;

/**
 * 类描述：当前线程数据源
 * 
 * @author jiangyg
 * @date 2020-10-17
 * @version 2.0
 */
public class DataSourceContextHolder {

	/**
	 * 当前线程变量
	 */
	private static final ThreadLocal<String> HOLDER = new NamedThreadLocal<>("DyDataSourceContextHolder");

	/**
	 * 功能描述：设置当前线程数据源
	 * 
	 * @param ds 数据源
	 */
	public static void set(String ds) {
		HOLDER.set(ds);
	}

	/**
	 * 功能描述：获取当前线程数据源
	 * 
	 * @return 数据源
	 */
	public static String current() {
		return HOLDER.get();
	}

	/**
	 * 功能描述：清空设置
	 */
	public static void clean() {
		HOLDER.remove();
	}

}
